package net.apps123.soundmeter;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import net.apps123.view.HunXiangAdapter;
import net.apps123.view.SplAdapter;
import net.apps123.view.SplDataBean;
import net.apps123.view.SplView;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;


public class HunXiangDetailActivity extends Activity {

//      100、125、160、200、250、315、400、500、630、800、1000、1250、2000、2500、3150、4000、5000。

    private HashMap<String, List<Integer>> hunXiangMap = new HashMap<String, List<Integer>>();

    private Context mContext;
    private ListView hunxiangListView;
    private HunXiangAdapter hunXiangAdapter ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hun_xiang_detail);
        mContext = this;

        findViewById(R.id.backImg).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

        findViewById(R.id.jiSuanBtn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                EditText et_MianJi_S = findViewById(R.id.et_MianJi_S);
                String et_MianJi_S_str = et_MianJi_S.getText().toString();

                EditText et_ZhengGai_S = findViewById(R.id.et_ZhengGai_S);
                String et_ZhengGai_S_str = et_ZhengGai_S.getText().toString();

                EditText et_zong_S = findViewById(R.id.et_zong_S);
                String et_zong_S_str = et_zong_S.getText().toString();

                EditText et_xiSheng_a1 = findViewById(R.id.et_xiSheng_a1);
                String et_xiSheng_a1_str = et_xiSheng_a1.getText().toString();

                EditText et_hunXiang_T = findViewById(R.id.et_hunXiang_T);
                String et_hunXiang_T_str = et_hunXiang_T.getText().toString();

                EditText et_xiSheng_a = findViewById(R.id.et_xiSheng_a);
                String et_xiSheng_a_str = et_xiSheng_a.getText().toString();

                EditText et_hunXiang_T1 = findViewById(R.id.et_hunXiang_T1);
                String et_hunXiang_T1_str = et_hunXiang_T1.getText().toString();

                if (TextUtils.isEmpty(et_MianJi_S_str) ){
                    Toast.makeText(mContext, "请输入房屋容积", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (TextUtils.isEmpty(et_ZhengGai_S_str) ){
                    Toast.makeText(mContext, "请输入吸声改造面积", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (TextUtils.isEmpty(et_zong_S_str) ){
                    Toast.makeText(mContext, "请输入房屋总面积", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (TextUtils.isEmpty(et_xiSheng_a1_str) ){
                    Toast.makeText(mContext, "请输入平均吸声系数", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (TextUtils.isEmpty(et_hunXiang_T_str) ){
                    Toast.makeText(mContext, "请输入当前混响时间", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (TextUtils.isEmpty(et_hunXiang_T1_str) ){
                    Toast.makeText(mContext, "请输入需要混响时间", Toast.LENGTH_SHORT).show();
                    return;
                }

//                  x1 = 1/(S*np.log(1-a1))
//                x2 = S*(T-T1)/(S1*0.161*V)
//                a = 1-np.exp(1/(x1-x2))
                double x1 = 1 / (Double.parseDouble(et_zong_S_str)  * Math.log(1 - Double.parseDouble(et_xiSheng_a1_str)));
                double x2 = Double.parseDouble(et_zong_S_str) *  (Double.parseDouble(et_hunXiang_T1_str) - Double.parseDouble(et_hunXiang_T_str))/ (Double.parseDouble(et_ZhengGai_S_str) * 0.161 * Double.parseDouble(et_MianJi_S_str));
                double a = 1 - Math.exp( 1 / (x1 - x2));

//                DecimalFormat df = new DecimalFormat("#.00");
//                String aStr = df.format(a);
//                et_xiSheng_a.setText("" + aStr);

                DecimalFormat decimalFormat =new DecimalFormat("0.00");//构造方法的字符格式这里如果小数不足2位,会以0补足.
                String aStr = decimalFormat.format(a);
                et_xiSheng_a.setText("" + aStr);
            }
        });


        List<Integer> dataList = new ArrayList<>();
        dataList.add(86);
        dataList.add(83);
        dataList.add(87);
        dataList.add(86);
        dataList.add(92);
        dataList.add(90);
        dataList.add(90);
        dataList.add(90);
        dataList.add(90);
        dataList.add(90);
        dataList.add(90);
        dataList.add(90);
        dataList.add(87);
        dataList.add(84);
        dataList.add(81);
        dataList.add(82);
        dataList.add(75);
        dataList.add(72);
        dataList.add(70);
        dataList.add(64);
        dataList.add(66);
        dataList.add(61);
        dataList.add(63);
        dataList.add(60);
        dataList.add(54);
        dataList.add(55);
        dataList.add(50);
        dataList.add(43);
        dataList.add(46);
        dataList.add(51);
        dataList.add(52);
        dataList.add(39);
        hunXiangMap.put("100", dataList);
        hunXiangMap.put("125", dataList);
        hunXiangMap.put("160", dataList);
        hunXiangMap.put("200", dataList);
        hunXiangMap.put("250", dataList);
        hunXiangMap.put("315", dataList);
        hunXiangMap.put("400", dataList);
        hunXiangMap.put("500", dataList);
        hunXiangMap.put("630", dataList);
        hunXiangMap.put("800", dataList);
        hunXiangMap.put("1000", dataList);
        hunXiangMap.put("1250", dataList);
        hunXiangMap.put("2000", dataList);
        hunXiangMap.put("2500", dataList);
        hunXiangMap.put("3150", dataList);
        hunXiangMap.put("4000", dataList);
        hunXiangMap.put("5000", dataList);

        hunxiangListView = findViewById(R.id.hunXiangListView);


//        splList = new ArrayList<>();
        hunXiangAdapter = new HunXiangAdapter(this, dataList, hunXiangMap);
        hunxiangListView.setAdapter(hunXiangAdapter);

    }
}
